package org.ala.tiktools.tools.queue;

import java.util.Iterator;

/**
 *	前向后向迭代器
 *	<p>	非线程安全
 *
 *	@author ala
 *	@date 2025年4月26日
 */
public interface IQueueIterator<E> extends Iterator<E> {
	/**
	 * 	重置到头指针
	 */
	void resetFirst();
	/**
	 * 	重置到尾指针
	 */
	void resetLast();
	/**
	 * 	释放
	 */
	void clear();
	/**
	 * 	取当前游标
	 */
	E current();
	
	
	/**
	 * 	在当前位置插入
	 */
	boolean insert(E e);
	/**
	 * 	删除，并且往后滚游标
	 */
	E removeAndNext();
	/**
	 * 	删除，并且往前滚游标
	 */
	E removeAndPrev();
	
	
	/**
	 * 	判断是否有前面的
	 */
	boolean hasPrev();
	/**
	 * 	往前遍历
	 */
	E prev();
}
